/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ihm.bean.administration.utilisateurs;

import ihm.outils.UtilsJsf;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import metier.model.Utilisateur;
import metier.service.AdministrationUtilisateursService;

/**
 *
 * @author Kestounet
 */
@ManagedBean
@ViewScoped
public class AdministrationUtilisateursAjoutModifController {

    @EJB
    private AdministrationUtilisateursService administrationUtilisateursService;
    private boolean ajout;
    private Utilisateur utilisateur;

    public AdministrationUtilisateursAjoutModifController() {
    }

    @PostConstruct
    private void initialisation() {
        String id = UtilsJsf.getHttpParameter("id");
        if (id == null) {
            ajout = true;
            utilisateur = new Utilisateur();
        } else {
            utilisateur = administrationUtilisateursService.lireParId(Integer.valueOf(id));
        }
    }

    public String valider() {
        if (FacesContext.getCurrentInstance().isValidationFailed()) {
            return null;
        } else {
            if (ajout) {
                administrationUtilisateursService.ajouter(utilisateur);
                UtilsJsf.ajouterMessage(FacesMessage.SEVERITY_INFO, "L'utilisateur a été ajouté avec succès");
            } else {
                administrationUtilisateursService.modifier(utilisateur);
                UtilsJsf.ajouterMessage(FacesMessage.SEVERITY_INFO, "L'utilisateur a été modifié avec succès");
            }
            return "pretty:nav_administration_utilisateurs_lister";
        }
    }

    public boolean isAjout() {
        return ajout;
    }

    public void setAjout(boolean ajout) {
        this.ajout = ajout;
    }

    public Utilisateur getUtilisateur() {
        return utilisateur;
    }

    public void setUtilisateur(Utilisateur utilisateur) {
        this.utilisateur = utilisateur;
    }

}
